package com.yiqi.zhiyuan.feature.certification.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.zhiyuan.entity.bo.UploadCertificatesInfo;

import java.util.List;

import io.reactivex.Observable;

/**
 * @ProjectName: ZhiYuan
 * @Description: java类作用描述
 * @Author: lijuwen
 * @CreateDate: 2019/3/14 10:45
 * @UpdateUser: 更新者
 * @UpdateDate: 2019/3/14 10:45
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public interface VehicleContract {

    interface Model {

        /**
         * 新增车辆
         *
         * @param certificatesInfo 认证照片
         * @param carNo            车牌号
         * @param carName          车辆品牌
         * @param carModelNo       车辆型号
         * @param carColor         车身颜色
         * @return
         */
        Observable<String> doInsertVehicle(List<UploadCertificatesInfo> certificatesInfo, String carNo, String carName, String carModelNo, String carColor,String id);


    }

    interface View extends BaseView {


        /**
         * 新增车辆成功
         */
        void showInsertVehicleSuccess();

        /**
         * 认新增车辆失败
         */
        void showInsertVehicleError(String errorMsg);
    }

    interface Presenter extends BasePresenter {


        /**
         * 认证上传基本信息
         *
         * @param certificatesInfo 认证照片
         * @param carNo            车牌号
         * @param carName          车辆品牌
         * @param carModelNo       车辆型号
         * @param carColor         车身颜色
         */
        void doInsertVehicle(List<UploadCertificatesInfo> certificatesInfo, String carNo, String carName, String carModelNo, String carColor,String id);

        void queryAuthInfo();
    }
}
